编译时勾选以下 mod
- Languages
- PHP7
- php7
- PHP7 LIBXML support
- Use system timezone data instead of php’s built-in database
- php7-cli
- php7-fpm
- php7-mod-bcmath
- php7-mod-calendar
- php7-mod-ctype
- php7-mod-curl
- php7-mod-dom
- php7-mod-exif
- php7-mod-fileinfo
- php7-mod-filter
- php7-mod-ftp
- php7-mod-gd
- php7-mod-gettext
- php7-mod-gmp
- php7-mod-iconv
- php7-mod-imap
- php7-mod-json
- php7-mod-ldap
- php7-mod-mbstring
- php7-mod-mysqli
- php7-mod-mysqlnd
- php7-mod-opcache
- php7-mod-openssl
- php7-mod-pcntl
- php7-mod-pdo
- php7-mod-pdo-mysql
- php7-mod-phar
- php7-mod-session
- php7-mod-simplexml
- php7-mod-sockets
- php7-mod-tokenizer
- php7-mod-xml
- php7-mod-xmlreader
- php7-mod-xmlwriter
- php7-mod-zip
- LuCI
- Collections
- luci-nginx
- luci-ssl-nginx
- luci-ssl-openssl
- Network
- SSH
- Web Servers/Proxies
- nginx-all-module
- nginx-mod-luci
- nginx-ssl-util
- uwsgi
- Utilities
- Compression
- Database
- mariadb-common
- mariadb-client-base
- mariadb-server-base
并调整 Target Images
中的 Root filesystem partition size
刷入后配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| #!/bin/bash
domain="${HOSTNAME,,}.lan" ip=$(ip r | grep br-lan | awk '{print $NF}') wwwroot="/mnt/mmcblk2p4/wwwroot"
cd ~
# dnsmasq uci add_list dhcp.@dnsmasq[0].address="/.${domain}/${ip}" uci commit dhcp /etc/init.d/dnsmasq restart
# nginx sed -i 's/\(fastcgi_param \)SCRIPT_NAME.*/\1SCRIPT_FILENAME $document_root$fastcgi_script_name;/' /etc/nginx/fastcgi_params sed -i 's/http {/http {\n server_names_hash_bucket_size 64;/' /etc/nginx/uci.conf.template
# php ln -s /usr/bin/php-cli /usr/bin/php sed -i 's/memory_limit = 8M/memory_limit = 1024M/' /etc/php.ini
# mariadb uci set mysqld.general.enabled='1' uci set mysqld.general.options='--datadir=/mnt/mmcblk2p4/mariadb' uci commit mysqld sed -i 's/\(datadir\s\+\=\).*/\1\/mnt\/mmcblk2p4\/mariadb/' /etc/mysql/conf.d/50-server.cnf mysql_install_db --user=mariadb --basedir=/usr --datadir=/mnt/mmcblk2p4/mariadb /etc/init.d/mysqld start
# composer php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');" mv composer.phar /usr/bin/composer
# vhost mkdir -p "${wwwroot}/php.${domain}" cd "${wwwroot}/php.${domain}" cat > "/etc/nginx/conf.d/php.${domain}.conf" <<EOF server { listen 80; #listen [::]:80; server_name php.${domain}; index index.html index.htm index.php default.html default.htm default.php; root ${wwwroot}/php.${domain};
location ~ [^/]\.php(/|$) { try_files \$uri =404; fastcgi_pass unix:/tmp/run/php7-fpm.sock; fastcgi_index index.php; include /etc/nginx/fastcgi_params; }
location ~ /.well-known { allow all; }
location ~ /\. { deny all; }
access_log off; } EOF /etc/init.d/nginx restart wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.zip unzip phpMyAdmin-5.1.1-all-languages.zip rm phpMyAdmin-5.1.1-all-languages.zip mv phpMyAdmin-5.1.1-all-languages phpmyadmin chmod +x phpmyadmin/index.php mkdir phpmyadmin/tmp chmod 0777 phpmyadmin/tmp cp phpmyadmin/config.sample.inc.php phpmyadmin/config.inc.php sed -i "s/\(\$cfg\['Servers'\]\[\$i\]\['host'\] = \).*/\\1'127.0.0.1';/" phpmyadmin/config.inc.php
|